package com.cesce.batch.cobros.items;

import java.util.SortedSet;
import java.util.TreeSet;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.batch.item.ItemProcessor;

import com.cesce.batch.cobros.exceptions.FTPException;
import com.cesce.batch.cobros.reverse.Cobcomunicados;
import com.cesce.batch.cobros.reverse.Cobparametros;
import com.cesce.batch.cobros.reverse.Cobregistro;
import com.cesce.batch.cobros.util.UtilidadesCobros;


public class RegistroXlsProcessor implements ItemProcessor<RegistroFTP, Cobregistro> {

	protected final Log logger = LogFactory.getLog(getClass());

	
	public Cobregistro process(RegistroFTP item) throws Exception {
		

		SortedSet<Cobcomunicados> comunicados = new TreeSet<Cobcomunicados>(); 
	
		Cobregistro rc = item.getIdRegistro();
		
		Cobparametros params = rc.getIdcodparametro();
		
		logger.debug("Thread: " + Thread.currentThread().getId()+ ", procesando params " +  params);
		
		comunicados=UtilidadesCobros.extraeInfoPosicionada(params,item);		
		rc.setCobcomunicadoss(comunicados);
		if (UtilidadesCobros.existenDatos == Boolean.FALSE)
			throw new FTPException("Documento con datos no validos" + item);

		return rc;
	}	
}
